/*----------------------------------------------------------
* FILE: PropertiesHelper.java
* LOGICAL NAME: PropertiesHelper
* PRODUCT: bila-framework
*----------------------------------------------------------
* MODIFICATIONS
* DATE Oct 10, 2011
* AUTHOR wjuarez
*----------------------------------------------------------
*/

package bila.framework.commons;

import java.util.Properties;

/**
 * @author WJuarez
 * <b>Created by </b>wjuarez
 * <b>for</b> bila-framework
 * <b>package</b> bila.framework.commons
 * <b>on</b> Oct 10, 2011 9:16:08 PM
 * <b>Purpose</b> 
 * <p>
 * 		Funciones para el manejo de archivo .properties
 * </p>
 */
public class PropertiesHelper {

	private String nameFile = null;
	private Properties prop = null;
	private boolean flag = false;
	
	private void prepareProperties() throws Exception{
		if(nameFile == null || nameFile.equals(""))
			flag =  false;
		prop = new Properties();		
		try{
			prop.load(this.getClass().getClassLoader().getResourceAsStream(this.nameFile));
			flag = true;
		}catch(Exception e){
			e.printStackTrace();
			flag = false;
			throw e;
		}
	}

	/**
	 * Recupera el contenido de un elemento de archivo .properties
	 * @param key llave del elemento que se desea recuperar
	 * @return valor que posee la llave
	 */
	public String getPropValue(String key) {
		if(!flag)
			return null;
		return prop.getProperty(key);
	}

	/**
	 * DefiniciÛn de ruta y nombre de archivo properties
	 * @param name ruta + nombre de archivo properties
	 * @throws Exception
	 */
	public void setNameOfProp(String name) throws Exception{
		this.nameFile = name;
		prepareProperties();
	}
}
